Bitcoin protocol core library
The library implements bitcoin protocol elements which are missed from other existing bitcoin libraries, like rust-bitcoin and [descriptor wallet]. Currently, it includes components necessary for client-side-validation over bitcoin, specifically
- deterministic bitcoin commitments API (LNPBP-14, 6 standards)
- bitcoin-based single-use-seal API (LNPBP-10 and LNPBP-39 standards)
Client-side-validation is a paradigm for distributed computing, based on top of proof-of-publication/commitment medium layer, which may be a bitcoin blockchain or other type of distributed consensus system.
The development of the library is supported by LNP/BP Standards Association.
Usage
To use libraries, you just need latest version of libraries, published to
crates.io into [dependencies]
section of your project
Cargo.toml
. Here is the full list of available libraries from this repository:
= "0.5" # Deterministic bitcoin commitments crate
= "0.5" # Bitcoin single-use-seals crate
= "0.5" # Library including both of the previous crates
bp-core
crate is an "umbrella" library containing both deterministic bitcoin
commitments and bitcoin seals crates inside.
Known applications
The current list of the projects based on the library include:
- RGB: Confidential & scalable smart contracts for Bitcoin & Lightning
- Bitcoin-based decentralized identity proposal uses single-use-seals
Contributing
Contribution guidelines can be found in CONTRIBUTING
More information
Policy on altcoins
Altcoins and "blockchains" other than Bitcoin blockchain/Bitcoin protocols are not supported and not planned to be supported; pull requests targeting them will be declined.
Licensing
See LICENCE file.